Seal GtkSocket
authorTim Janik <timj@src.gnome.org>
Fri, 20 Jun 2008 11:08:13 +0000 (11:08 +0000)
committerTim Janik <timj@src.gnome.org>
Fri, 20 Jun 2008 11:08:13 +0000 (11:08 +0000)
svn path=/trunk/; revision=20604

gtk/gtk.symbols
gtk/gtksocket.c
gtk/gtksocket.h

index df3deaadf7841224e50dc7dfa8fe2b7a7c4aaa8a..288a6d187e9e791851434ba6da503278a7f2abdd 100644 (file)
@@ -3450,6 +3450,7 @@ gtk_show_uri
 #if IN_FILE(__GTK_SOCKET_C__)
 gtk_socket_add_id
 gtk_socket_get_id
+gtk_socket_get_plug_window
 gtk_socket_get_type G_GNUC_CONST
 gtk_socket_new
 #ifndef GTK_DISABLE_DEPRECATED
index 25a96690de012c6222c35d17a0936cf43cc7c7bb..ab0f620d071931a9b5af24f4fbeb4bfd65636f30 100644 (file)
@@ -300,6 +300,25 @@ gtk_socket_get_id (GtkSocket *socket)
   return _gtk_socket_windowing_get_id (socket);
 }
 
+/**
+ * gtk_socket_get_plug_window:
+ * @socket_: a #GtkSocket.
+ *
+ * Retrieves the window of the plug. Use this to check if the plug has
+ * been created inside of the socket.
+ *
+ * Return value: the window of the plug if available, or %NULL
+ *
+ * Since:  GSEAL-branch
+ **/
+GdkWindow*
+gtk_socket_get_plug_window (GtkSocket *socket)
+{
+  g_return_val_if_fail (GTK_IS_SOCKET (socket), NULL);
+
+  return socket->plug_window;
+}
+
 static void
 gtk_socket_realize (GtkWidget *widget)
 {
index 6e6e2aa66ea08c0077e6fb2c1d2ffc81d77e220a..ecb7cd60833d48b4b1b1b04c07d0abe9b05e720b 100644 (file)
@@ -49,24 +49,24 @@ struct _GtkSocket
 {
   GtkContainer container;
 
-  guint16 request_width;
-  guint16 request_height;
-  guint16 current_width;
-  guint16 current_height;
-
-  GdkWindow *plug_window;
-  GtkWidget *plug_widget;
-
-  gshort xembed_version;       /* -1 == not xembed */
-  guint same_app : 1;
-  guint focus_in : 1;
-  guint have_size : 1;
-  guint need_map : 1;
-  guint is_mapped : 1;
-  guint active : 1;
-
-  GtkAccelGroup *accel_group;
-  GtkWidget *toplevel;
+  guint16 GSEAL (request_width);
+  guint16 GSEAL (request_height);
+  guint16 GSEAL (current_width);
+  guint16 GSEAL (current_height);
+
+  GdkWindow *GSEAL (plug_window);
+  GtkWidget *GSEAL (plug_widget);
+
+  gshort GSEAL (xembed_version); /* -1 == not xembed */
+  guint GSEAL (same_app : 1);
+  guint GSEAL (focus_in : 1);
+  guint GSEAL (have_size : 1);
+  guint GSEAL (need_map : 1);
+  guint GSEAL (is_mapped : 1);
+  guint GSEAL (active : 1);
+
+  GtkAccelGroup *GSEAL (accel_group);
+  GtkWidget *GSEAL (toplevel);
 };
 
 struct _GtkSocketClass
@@ -90,6 +90,7 @@ GtkWidget*     gtk_socket_new      (void);
 void            gtk_socket_add_id (GtkSocket       *socket_,
                                   GdkNativeWindow  window_id);
 GdkNativeWindow gtk_socket_get_id (GtkSocket       *socket_);
+GdkWindow*      gtk_socket_get_plug_window (GtkSocket       *socket_);
 
 #ifndef GTK_DISABLE_DEPRECATED
 void           gtk_socket_steal    (GtkSocket      *socket_,